Multiple-input multiple-output (MIMO) wireless communication techniques have been employed in modern wireless systems to achieve increases in data throughput without corresponding increases in frequency bandwidth or transmittal power. The higher data throughput is achieved by fully exploiting the multiple antennas at the transmitter(s) and the receiver. More specifically, in a MIMO system, N data streams are transmitted in parallel from N antennas at one or several transmitters. At the receiver, these N transmitted data streams will be received with M antennas, where M is less than or equal to N. The received data streams then need to be decoded.
One type of MIMO decoder is the maximum likelihood decoder (MLD). While this type of decoder is relatively accurate, it can be computationally very expensive. Its complexity is extremely high for transmitted signals having high-orders of modulation (e.g. M-Quadrature Amplitude Modulation (QAM) with M being 16, 64, or 256) and/or for large numbers of transmitted data streams. Another type of MIMO decoder is a linear MIMO decoder, such as Minimum Mean Square Error (MMSE) decoder or a Zero-Force (ZF) decoder. These decoders may achieve low decoding complexity at the cost of noticeable degradation in the decoding performance.